package com.memory.monitor.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.memory.monitor.common.DeleteRequest;
import com.memory.monitor.model.dto.role.RoleAddRequest;
import com.memory.monitor.model.dto.role.RoleQuerryRequest;
import com.memory.monitor.model.dto.role.RoleUpdateRequest;
import com.memory.monitor.model.entity.Role;
import com.memory.monitor.model.vo.MarketVO;
import com.memory.monitor.model.vo.RoleVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


/**
* @author 21731
* @description 针对表【role(角色管理)】的数据库操作Service
* @createDate 2024-09-02 10:00:07
*/
public interface RoleService extends IService<Role> {
    /**
     * 获取MarketVO信息
     *
     * @param role
     * @return
     */
    RoleVO getRoleVO(Role role);

    /**
     * 获取MarketVO信息
     *
     * @param roleList
     * @return
     */
    List<RoleVO> getRoleVO(List<Role> roleList);

    /**
     * 查询条件
     *
     * @param roleQuerryRequest
     * @return
     */
    QueryWrapper<Role> getQueryWrapper(RoleQuerryRequest roleQuerryRequest);


    /**
     * 增加查询条件
     *
     * @param roleAddRequest
     * @return
     */
    Long addRole(RoleAddRequest roleAddRequest);

    /**
     * 更新查询条件
     *
     * @param roleUpdateRequest
     * @return
     */

    Boolean updateRole(RoleUpdateRequest roleUpdateRequest);

    /**
     * 删除查询条件
     *
     * @param deleteRequest
     * @return
     */

    Boolean deleteRole(DeleteRequest deleteRequest);

    List<RoleVO> listRoleByPage();

    Boolean readExcel(MultipartFile multipartFile);

    Boolean writeExcel(String path);

}
